package com.jd.oneday;

public class exerecise02 {

    //        public int size = 7;
//    public int[] arr = new int[size];
    public int[] arr = {1, 8, 15, 89, 145};
    public int size = 0;

    public static void main(String[] args) {
        /*
         *  实现一个大小固定的有序数组，支持动态增删改操作
         */
        exerecise02 e = new exerecise02();
        e.add(18);
        e.del(4);
        e.modify(5, 10);
    }

    // 增   增加新元素
    public void add(int a) {
        int size = 0;
        if (arr.length == 0 || arr.length > 0) {   //判断数组是否为空
            size = arr.length + 1;   //arr1的长度+1
            int[] arr1 = new int[size];
            arr1[size - 1] = a;   // 新元素增加在末尾
            //   将arr的元素添加到arr1中
            for (int y = 0; y < arr.length; y++) {
                arr1[y] = arr[y];
            }
            arr = arr1;
            traverse();
        }
        System.out.println("添加成功");
    }

    // 删   在index位置的元素
    public void del(int index) {
        if (index < arr.length) {
            size = arr.length;
            for (int i = index + 1; i < arr.length; i++) {
                arr[i - 1] = arr[i];  // 被删除后面的每个元素向前移一位
            }
            size--;   // arr1长度-1
            int[] arr1 = new int[size];
            // 将arr的元素添加到arr1中
            for (int i = 0; i < arr.length - 1; i++) {
                arr1[i] = arr[i];
            }
            arr = arr1;
            traverse();
            System.out.println("删除成功");
        } else {
            System.out.println("删除位置超界了");
        }
    }

    // 改   在index位置修改a元素
    public void modify(int index, int a) {
        if (index < arr.length) {
            arr[index] = a;
            traverse();
            System.out.println("修改成功");
        } else {
            System.out.println("修改位置超界了");
        }

    }

    //  遍历数组
    public void traverse() {
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }


}
